package com.czmh.etc.onlinepubsys.services;

import com.czmh.etc.onlinepubsys.exceptions.EtcMsgException;
import com.czmh.etc.onlinepubsys.json.JsonResult;

/**
 * 
 * @描述：单点登录控制器
 * @author： Seven.
 * @创建日期：Oct 22, 2019 1:16:14 PM.
 * @版本：1.0.0
 */
public interface ISsoService {

    /**
     * 手机号+验证码登录
     * @param mobile        手机号
     * @return
     */
    JsonResult loginByMobile(String mobile) throws EtcMsgException;

    /**
     * 修改密码 手机号+密码
     * @param mobile        手机号
     * @param password        密码
     * @return
     */
    JsonResult changePassword(String mobile, String password) throws EtcMsgException;

    /**
     * 手机号+密码登录
     * @param mobile        手机号
     * @param password        密码
     * @return
     */
    JsonResult loginByPassword(String mobile, String password) throws EtcMsgException;

    /**
     * 根据手机号码判断用户是否设置密码
     * @param mobile        手机号
     * @return
     */
    JsonResult checkPassword(String mobile) throws EtcMsgException;

    /**
     * 微信授权登录
     * 
     * @param code          微信授权code
     * @return
     * @throws Exception 
     */
    JsonResult loginAuthWx(String code) throws Exception;

    /**
     * 退出登录
     * 
     * @param mobile
     * @return
     */
    JsonResult outlogin(String mobile);

    /**
     * 小程序登录
     * 
     * @param userinfo     微信小程序登录
     * @return
     */
    JsonResult loginByApplet(String userinfo);


    JsonResult checkVip(String mobile);
}
